//
// Created by user on 2022/3/7.
//
#include <vector>
#include <algorithm>
using namespace std;
int longestOnes(vector<int>& nums, int k) {
    int ans =0;
    int left=0;
    int right =0;
    int windowsZerosCnt=0;

    while (right<nums.size()){
        if(nums[right]==0){
            windowsZerosCnt++;
            if(windowsZerosCnt==k+1){
                ans = max(ans, right-left);
            }
        }
        while (windowsZerosCnt>k){
            if(nums[left]==0)windowsZerosCnt--;
            left++;
        }
        right++;
    }

    return max(ans, right-left);

}